/**
  * 作业要求：每瓶啤酒2元，3个空酒瓶或者5个瓶盖可换1瓶啤酒。100元最多可喝多少瓶啤酒？
  * （不允许借啤酒）思路：利用递归算法，一次性买完，然后递归算出瓶盖和空瓶能换的啤酒数
  */

object Test01 {
  def main(args: Array[String]): Unit = {
    // 第一次买共几瓶
    var one:Int = 100/2;
    println(s"总喝瓶数：${one+process(0,one,one)}")
  }
  /*
   * 总数，上次剩余瓶子，上次剩余瓶盖
   */
  def process(sum:Int,bottle:Int,cap:Int):Int = {
    if(bottle<3 && cap<5) return sum
    var a1 = bottle/3
    var a2 = bottle%3
    var b1 = cap/5
    var b2 = cap%5
    println(f"总数=${a1+b1+sum} 上次剩余瓶子=${a1+b1+a2}%02d 上次剩余瓶盖=${a1+b1+b2}%02d")
    return process(a1+b1+sum,a1+b1+a2,a1+b1+b2)

  }

}
